package private1;

public class Base {//方法重写和super主体，超类的成员可以通过super.成员名  进行访问
//    int a;
//    int b;
    protected int x; //限制公开，该类和下位类可以访问

    Base(){this.x=0;}
    Base(int x){this.x=x;}
    void print(){
        System.out.println(x);
}
//    int  getA(){return 1;}
//    void setA(int a){}
//    int getB(){return 1;}
//    void setB(int b){}
}
class Derived extends Base{//Derived继承并扩展已有类
    int x;//与超类同名的字段
    Derived(int x1,int x2){super(x1);this.x=x2;}//super调用超类的构造函数
    //重写超累的方法
    void print(){super.print();
        System.out.println(x);}
//    int getC(){return 1;}
//    void setC(){}
}
class SuperTester{
    public static void main(String[] args) {
        Base a=new Base(3);
        System.out.println("-----");
        a.print();

        Derived B=new Derived(7,8);
        B.print();
    }
        }
